Method and device for limitng call accompanying execution of application

ABSTRACT

When a Java application AP originates a call to a certain communication node, a Java application manager JAM refers to the history of outgoing/incoming calls and telephone directory data mentioned above to determine whether the call origination processing should be granted by checking whether the telephone number of the communication node, for which call origination is to be implemented, is included in the history of outgoing/incoming calls or the telephone directory data. The determination is based on an idea in which, if the telephone number of the communication node for which call origination is to be performed is included in the history of outgoing/incoming calls or the telephone directory data, then the call origination processing is valid on a basis of the recognition in that a portable telephone has performed communication with the communication node in the past or the user has recognized it as a communication partner.

TECHNICAL FIELD

[0001] The present invention relates to a method and an apparatus for limiting call originations accompanied by executing an application at a communication terminal.

BACKGROUND ART

[0002] Advancement of portable telephones is accelerating. Recently, it is possible to access servers on the Internet through a portable telephone to download a variety of contents and applications. Such applications that are downloaded from a network and used include, for example, an application called “Java Applet” described in the Java (registered trademark) programming language.

[0003] Open networks, including the Internet, generally have poor security, and hence, Java Applets distributed through such an open network are not necessarily reliable.

[0004] Accordingly, it is necessary to exclude accesses to networks established by an illegal Java Applet. In response to this demand, there has been proposed an access limiting technique called “sandbox model.” The sandbox model allows communication terminals, which perform as clients, to access only a server from which a Java Applet is downloaded.

[0005] However, it is anticipated that network resources will be further integrated or distributed in the future. In such situations, some cases are likely to happen where applying the existing access limiting technique mentioned above is not adequate.

DISCLOSURE OF INVENTION

[0006] Accordingly, it is an object of the present invention to propose a new mechanism for limiting network accesses gained by executing applications on a communication terminal.

[0007] To this end, the present invention provides a call origination limiting method including a comparison step for comparing, when a call origination is performed from a communication terminal accompanied by executing an application, a telephone number of a communication node, for which a call origination is to be implemented, with a telephone number of a communication node which has been stored in a storing means beforehand and for which a call origination has been granted, and a determination step for determining whether the call origination should be granted or not on a basis of the result of the comparison.

[0008] According to the present invention, when a call origination of a predetermined communication node is accompanied by executing an application, it is determined whether the call origination should be granted or not by checking the telephone number of the communication node to be one of the telephone numbers that have been granted in advance. This permits improved security to be achieved.

[0009] In a preferred form, the storing means is a memory for storing telephone directory data, and compares the telephone number of the communication node to be called with the telephone numbers included in the telephone directory data in the comparison step.

[0010] In another preferred form, the storing means is a memory for storing a history of outgoing/incoming calls, and compares the telephone number of the communication node to be called with telephone numbers of at least either the outgoing calls or incoming calls in the history of outgoing/incoming calls in the comparison step.

[0011] In still another preferred form, the storing means stores plural types of telephone number groups, and compares, in the comparison step, the telephone number of the communication node for which the call origination is to be implemented with a type of telephone number groups corresponding to an application to be executed.

[0012] In a preferred form, the call origination limiting method is provided with a step for outputting a predetermined error message and prompting an operation for instructing a call origination performed by a user if a call origination processing has been rejected in the determination step, and a step for accepting the operation for instructing the call origination performed by the user and carrying out the call origination.

[0013] In each form described above, the call origination is a processing for line connection for voice communication or data communication.

[0014] The present invention can be implemented also in a form wherein a carrying out program for the call origination limiting method described above is distributed to a user through a telecommunication line, or in a form wherein such a program stored in a computer-readable medium is distributed to a user.

[0015] Furthermore, the present invention can be implemented in a form wherein a communication terminal for carrying out the method for limiting call origination explained above is manufactured and marketed. Such a communication terminal is provided with a means for storing telephone numbers of communication node for which a call origination has been granted, a means for comparing a telephone number of communication node for which a call origination is to be implemented with the telephone numbers stored in the storing means when a call origination is accompanied by executing an application, and a means for determining whether the call origination should be granted or not on a basis of the result of the comparison.

[0016] An example of the communication terminal is a portable telephone performing radio communication.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017]FIG. 1 is a block diagram showing an entire system configuration in accordance with an embodiment of the present invention.

[0018]FIG. 2 is a block diagram showing a hardware configuration of a portable telephone in the embodiment.

[0019]FIG. 3 is a diagram showing an example of a history of outgoing/incoming calls stored in the portable telephone in the embodiment.

[0020]FIG. 4 is a diagram showing an example of telephone directory data stored in the portable telephone in the embodiment.

[0021]FIG. 5 is a schematic diagram showing a software configuration of the portable telephone in the embodiment.

[0022]FIG. 6 is a flowchart showing a processing operation performed when a Java virtual machine of the portable telephone in the embodiment executes a downloaded Java application.

BEST MODE FOR CARRYING OUT THE INVENTION

[0023] Referring to the drawings, an embodiment will be described in accordance with the present invention as follows:

[0024] In this embodiment, an example will be explained in which a portable telephone for radio data communication executes an application described with Java (registered trademark) programming language (hereinafter referred to as “Java application”). The present invention, however, can be implemented in various modifications within the scope of the technological spirit thereof, rather than being limited to the embodiment.

[0025] A: Configuration

[0026] First, the configuration of the embodiment will be explained.

[0027] (1) Configuration of the Entire System

[0028]FIG. 1 is a block diagram showing the configuration of the entire system according to the embodiment of the present invention. As shown in the drawing, the system is constructed of portable telephones 10 a and 10 b, a mobile data communication network 20, a server 25, the Internet 30, and a download server 40.

[0029] The portable telephones 10 a and 10 b are owned by users to receive call services of a mobile telephone network, which is not shown, and to perform radio communication with a base station 21 of the mobile data communication network 20 to receive data communication service of the network 20. The portable telephones 10 a and 10 b incorporate a browser for browsing various pages on the Internet 30 and a Java virtual machine for supporting Java (registered trademark), which allows various Java applications to be executed.

[0030] The portable telephones 10 a and 10 b share the same configurations and operations, so they shall be generically referred to as a portable telephone 10 hereinafter unless it is necessary to distinguish them in explanation.

[0031] The mobile data communication network 20 is constituted of base station 21, switching office, which is not shown, and communication lines for connecting them. Multiple base stations 21 are deployed at predetermined intervals in a communication service area of the mobile data communication network 20 to effect radio communication with the portable telephones 10 movably located in respective radio cells. The mobile data communication network 20 is connected to the Internet 30 through a gateway, which is not shown, and two-way data transfer is possible between the networks.

[0032] The download server 40 holds data in an HTML (Hypertext Markup Language) format that can be referred by using the browser of the portable telephone 10, and various types of Java applications, and provides them to the portable telephone 10 through the intermediary of the Internet 30 and the mobile data communication network 20.

[0033] Java applications held by the download server 40 include, for example, software for providing PIM (Personal Information Management) to a user of the portable telephone 10 and game software for the user of the portable telephone 10 to play a confrontational game with another user. When these Java applications are downloaded from the download server 40 to the portable telephone 10 and executed by the portable telephone 10, a predetermined communication node is called, and processing is carried out by performing communication with the communication node. There is also a Java application in which, when a user specifies a call destination communication node, a so-called “PhoneTo” function is implemented to call the communication node to effect voice communication.

[0034] In this case, as a call destination communication node, there are, for example, server 25, portable telephones 10 other than the portable telephone 10 that executes an application, and fixed telephones, which are not shown.

[0035] The server 25 has a function for providing a user with the PIM service. More specifically, the server 25 has a memory area for storing schedules, note pads, etc. of each user, and performs updating or the like of such data in response to requests received from the portable telephone 10 of each user. In this case, the Java application downloaded into the portable telephone 10 is carried out thereby to cause the portable telephone 10 to call the server 25 and perform processing in cooperation with the server 25 to receive the PIM service.

[0036] If the Java application downloaded into the portable telephone 10 is a confrontational game to play with another portable telephone 10, then the portable telephone 10 a, for example, calls the portable telephone 10 b. Thereafter, communication is carried out between the portable telephones 10 a and 10 b to execute the Java application.

[0037] Thus, a Java application is executed on the portable telephone 10 as to connect a line by calling a predetermined communication node and to execute a processing (including voice communication processing) by performing communication with the communication node.

[0038] However, when the presence of an illegal application mentioned above is taken into account, it is not desirable to allow a call origination processing based on a instruction of Java applications without limitation.

[0039] For this reason, the embodiment imposes a certain limitation on a call origination processing accompanied by executing a Java application.

[0040] (2) Hardware Configuration of Portable Telephone 10

[0041] Referring now to the block diagram shown in FIG. 2, the hardware configuration of the portable telephone 10 will be described.

[0042] As shown in the drawing, the portable telephone 10 is constructed of a transmitting/receiving unit 11, a control unit 12, a user interface unit 13, and a bus 14 interconnecting them.

[0043] The transmitting/receiving unit 11 is constituted of an antenna and a communication control circuit, which are not shown, and performs radio communication with the base stations 21 of the mobile data communication network 20.

[0044] The user interface unit 13 is constructed of a liquid crystal display for displaying various types of information, a key pad for a user to perform various types of input operations, and a microphone with a speaker for telephone calls of the user.

[0045] The control unit 12 controls each part of the portable telephone 10, and is constructed of a CPU 121, a ROM 122, and an SRAM 123.

[0046] Various control programs or the like are stored in the ROM 122, and the CPU 121 reads out the control programs to execute various types of control processing. Control programs in the ROM 122 include an operating system provided in the portable telephone 10, a browser, and various types of software, which will be discussed hereinafter.

[0047] The SRAM 123 is used as a work area of the CPU 121, and also stores Java applications downloaded from the download server 40, the history of outgoing/incoming calls of the portable telephone 10, and telephone directory data entered by a user.

[0048]FIG. 3 is a diagram showing an example of the history of outgoing/incoming calls stored in the SRAM 123, and FIG. 4 is a diagram showing an example the telephone directory data stored in the SRAM 123.

[0049] As shown in FIG. 3, the history of outgoing calls is stored with date and time when the portable telephone 10 made each call, associated with the telephone number of the communication node from which the telephone call was made (the originating telephone number). Similarly, the history of incoming calls is stored with date and time when the portable telephone 10 received each call, associated with the telephone number of the communication node from which the telephone call, corresponding to the received call, was made (the incoming telephone number).

[0050] Furthermore, the telephone directory data is stored with interrelated names and telephone numbers, as shown in FIG. 4.

[0051] As for a processing for storing of histories of outgoing and incoming calls, well-known arts shall be applied and the explanation thereof will be omitted.

[0052] (3) Software Configuration of Portable Telephone

[0053] The software configuration of the portable telephone 10 will now be described.

[0054]FIG. 5 is a schematic diagram showing the software configuration of the portable telephone 10. As shown in the drawing, the software of the portable telephone 10 is constituted of an operating system OS, a Java application manager JAM, a Java K virtual machine KVM and a Java application AP in this order from a lowermost layer to an uppermost layer.

[0055] The operating system OS is a well-known software installed in a portable telephone to support basic processing of the portable telephone 10.

[0056] The Java application manager JAM is software mainly for control and security check on the Java K virtual machine KVM. To be more specific, the Java application manager JAM refers to the aforesaid histories of outgoing/incoming calls and the telephone directory data and determine whether the call origination processing should be executed or not by checking whether the telephone number of the above communication node is included therein, when a call origination is processed to a predetermined communication node accompanied by executing the Java application AP. The determination is based on an idea: a call origination processing can be granted in such cases that the node communication telephone number of the call origination is included in the histories of outgoing/incoming calls or the telephone directory data, because this means that the portable telephone 10 performed communication with the communication node in the past or the user recognized it as a communication partner.

[0057] The Java K virtual machine KVM carries out the Java application under the control of the Java application manager JAM. The Java virtual machine KVM and the Java application manager JAM are incorporated into the operating system OS in advance, and they are all stored in the ROM 122.

[0058] The Java application AP is the software described in the Java (registered trademark) programming language as mentioned above, and it is downloaded into the portable telephone 10 from the download server 40, then written to and stored in the SRAM 123.

[0059] B: Operation

[0060] The operation of the embodiment with the above configurations will now be explained.

[0061]FIG. 6 is a flowchart showing the processing execution of the Java application AP by the portable telephone 10.

[0062] When an instruction is issued for starting up a requested Java application AP by user's operation, the Java application AP is started up on the Java K virtual machine KVM shown in FIG. 3 in response to the instruction, and the processing is executed unit by unit which is an execution unit called “class” (step S1).

[0063] Then, it is determined whether the class to be executed is the processing that requires a call origination or not to a communication node (step S2).

[0064] If the class does not require the call origination processing (NO in step S2), then the Java K virtual machine KVM repeats the processing of step S1, and executes the processing corresponds to the class.

[0065] If the class requires the call origination processing (YES in step S2), then the Java application manager JAM refers to the telephone number of the communication node, for which the call origination processing is to be implemented, the histories of outgoing/incoming calls and the telephone directory data and compares them in response to a request from the Java K virtual machine KVM (step S3).

[0066] If a comparison result indicates that the same telephone number as that of the communication node for which the call origination processing is to be implemented has been found in the histories of outgoing/incoming calls or the telephone directory data (YES in step S4), then the Java application manager JAM determines that the call origination processing has been granted and instructs that the Java K virtual machine KVM to execute the call origination processing (step S5).

[0067] If no telephone number, which is identical to that of the communication node for which the call origination processing is to be carried out, is found in the histories of outgoing/incoming calls and the telephone directory data (NO in step S4), then it is determined that the call origination processing has not been granted. The Java application manager JAM instructs the Java K virtual machine KVM to display a message on a liquid crystal display, indicating that the call origination processing cannot be granted, together with another message indicating that user's instruction is necessary to perform call origination (step S6).

[0068] The displayed in this case can be a message, for example, “You need to call oo-xxxx-ΔΔΔΔ to continue the processing. Are you making the call? Press key 1 for YES or press key 2 for NO.”

[0069] If the user issues an instruction for making the call (YES in step S7), then the processing comes to step S5 wherein the Java K virtual machine KVM carries out the call origination processing. Then, the processing returns to step S1 wherein the processing for executing the Java application AP is continued.

[0070] In this case, a call origination is made in the step S5 processing so that the telephone number used for making the call is stored in the history of outgoing calls. Hence, the call origination processing will be granted thereafter concerning this telephone number by step S4 determination above mentioned.

[0071] If an instruction is issued by the user not to make the call (NO in step S7), then the Java application AP is forcibly terminated by the Java application manager JAM in response to the instruction (step S8).

[0072] In this way, a call origination is granted only if the result indicates conformity after the comparison of the communication node telephone number to be implemented for the call origination with the histories of outgoing/incoming calls and the telephone directory data.

[0073] That is to say, in this embodiment, call originations are limited to the communication nodes called before or the communication nodes registered in the telephone directory by the user to ensure the security thereby.

[0074] C: Modification Examples

[0075] As previously mentioned, the present invention is not limited to the embodiment described above, and may be implemented in various modifications as shown below.

[0076] (1) Form of Each Communication Node

[0077] In the embodiment described above, the portable telephone 10 has been used as the subject executing applications. The subject executing applications, however, is not limited thereto; it may be a fixed telephone or a personal computer connected to a portable telephone or a fixed telephone.

[0078] A communication node to be called is not limited to the server 25 or the portable telephone 10; it may be a personal computer or the like connected to a fixed network and placed at home or in an office.

[0079] Thus, the subjects executing the applications and the objects to be called are not limited as long as they are communication nodes to which lines are connected by using telephone numbers to perform data communication or voice communication.

[0080] (2) The Use of the Histories of Outgoing/Incoming Calls and Telephone Directory Data

[0081] In the embodiment, both the histories of outgoing/incoming calls and the telephone directory data have been used to determine whether the call origination processing should be granted or not; however, the present invention is not limited thereto. Alternatively, whether call origination processing should be granted may be determined by using only the history of outgoing calls, only the history of incoming calls, or only the telephone directory data, or by using at least two of them.

[0082] (3) Processing for Different Applications

[0083] In the embodiment, even when a plurality of Java applications AP have been installed in the portable telephone 10, it has been determined whether call origination should be implemented by using all the histories of outgoing/incoming calls and the telephone director data without awareness of differences among applications, when any of the Java applications AP is carried out; however, the present invention is not limited thereto. Alternatively, data on which the determination is based may be limited for each application AP to be executed.

[0084] For instance, for the first Java application only the telephone directory data may be the foundation on which determination is based, for the second Java application both histories of outgoing/incoming calls and telephone directory data may be the foundation on which determination is based, and for the third Java application, without providing any foundation on which determination is based, calls to all communication nodes may be granted.

[0085] As for this occasion users may determine every time which data shall be the determination foundation, or the Java application manager JAM may determine according to attributes of a Java application AP.

[0086] Java applications AP are not necessarily limited to those downloaded from a network. For example, some Java applications AP are stored in the ROM 122 in advance. Such Java Applications AP are considered to be with high security and no limitation may be put on the call originations. Furthermore, Java applications AP that are downloaded from the download server 40 authenticated by predetermined certificate authorities may be expected to provide respectable security. Hence, both the histories of outgoing/incoming calls and the telephone directory data may be used as the foundations on which determinations are based to ease the restrictions on call origination. Security may not be expected much for Java applications AP downloaded from download server 40 that are not authenticated by predetermined certificate authorities. Hence, only a telephone directory data history may be used as the foundation on which determinations are based enhancing restrictions on call origination.

[0087] (4) Programming Language

[0088] In the embodiment, the Java (registered trademark) has been used; the present invention, however, is not limited thereto. It is needless to say that other programming languages may be used. 

1. A call origination limiting method comprising: a comparison step for comparing, when call origination is performed from a communication terminal accompanied by executing an application, a telephone number of a communication node for which the call origination is to be implemented with a telephone number of a communication node which has been stored in storing means beforehand and for which call origination has been granted; and a determination step for determining whether the call origination should be granted or not on a basis of the result of the comparison.
 2. The call origination limiting method according to claim 1, wherein the storing means is a memory for storing telephone directory data, and compares the telephone number of a communication node for which the call origination is to be implemented with telephone numbers included in the telephone directory data in the comparison step.
 3. The call origination limiting method according to claim 1, wherein the storing means is a memory for storing a history of outgoing/incoming calls, and compares the telephone number of the communication node for which the call origination is to be implemented with telephone numbers of at least either the outgoing calls or incoming calls in the history of outgoing/incoming calls in the comparison step.
 4. The call origination limiting method according to claim 1, wherein the storing means stores plural types of telephone number groups, and compares, in the comparison step, the telephone number of the communication node for which the call origination is to be implemented with a type of telephone number groups corresponding to an application to be executed.
 5. The call origination limiting method according to claim 1, comprising: a step for outputting a predetermined error message and prompting an operation for instructing a call origination performed by a user if call origination processing has been rejected in the determination step; and a step for accepting the operation for an instruction of call origination by a user and implementing the call origination.
 6. The call origination limiting method according to claim 1, wherein the call origination is a processing for line connection for voice communication.
 7. The call origination limiting method according to claim 1, wherein the call origination is a processing for line connection for data communication.
 8. A program for causing a computer that controls a communication terminal to execute: a comparison step for comparing, when a call origination is performed from a communication terminal accompanied by executing an application, a telephone number of a communication node for which the call origination is to be implemented with a telephone number of a communication node which has been stored in storing means beforehand and for which call origination has been granted; and a determination step for determining whether the call origination should be granted or not on a basis of the result of the comparison.
 9. The program according to claim 8, wherein the storing means is a memory for storing telephone directory data, and compares the telephone number of a communication node for which the call origination is to be implemented with the telephone numbers included in the telephone directory data in the comparison step.
 10. The program according to claim 8, wherein the storing means is a memory for storing a history of outgoing/incoming calls, and compares the telephone number of the communication node for which the call origination is to be implemented with the telephone numbers of at least either the outgoing calls or incoming calls in the history of outgoing/incoming calls in the comparison step.
 11. The program according to claim 8, wherein the storing means stores plural types of telephone number groups, and compares the telephone number of the communication node for which the call origination is to be implemented with a type of telephone number groups corresponding to an application to be executed.
 12. The program according to claim 8, comprising: a step for outputting a predetermined error message and prompting an operation for instructing a call origination performed by a user if the call origination processing has been rejected in the determination step; and a step for accepting the operation for instructing the call origination performed by the user and carrying out the call origination.
 13. The program according to claim 8, wherein the call origination is a processing for line connection for voice communication.
 14. The program according to claim 8, wherein the call origination is a processing for line connection for data communication.
 15. The program according to claim 8, wherein the application is an application described in Java programming language.
 16. A computer-readable storage medium storing a program for causing a computer that controls a communication terminal to carry out: a comparison step for comparing, when a call origination is performed from a communication terminal accompanied by executing an application, a telephone number of a communication node for which the call origination is to be implemented with a telephone number of a communication node which has been stored in storing means beforehand and for which call origination has been granted; and a determination step for determining whether the call origination should be granted on a basis of the result of the comparison.
 17. A communication terminal comprising: storing means for storing telephone numbers of communication nodes for which call origination has been granted; comparing means for comparing, when call origination is accompanied by executing an application, a telephone number of a communication node for which the call origination is to be performed with a telephone number stored in storing means; and determination means for determining whether the call origination should be granted on a basis of the result of the comparison.
 18. The communication terminal according to claim 17, wherein the communication terminal is a portable telephone for performing radio communication. 